package lt.ntec.danblog.server.core.model.objectify;

import com.google.appengine.api.datastore.Key;
import com.googlecode.objectify.ObjectifyService;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.Id;
import lt.ntec.danblog.server.core.model.Comment;
import lt.ntec.danblog.server.core.model.Commentable;
import lt.ntec.danblog.server.core.model.Tag;
import lt.ntec.danblog.server.core.model.Taggable;

public class ObjectifyMockParent implements Taggable, Commentable {

    static {
        ObjectifyService.register(ObjectifyMockParent.class);
    }
    @Id
    private Long id;
    private Set<Key> tags = new HashSet<Key>();

    @Override
    public Long getId() {
        return id;
    }

    @Override
    public void setTags(Set<? extends Tag> tags) {
    }

    @Override
    public Set<? extends Tag> getTags() {
        return null;
    }

    @Override
    public String getTagString() {
        return null;
    }

    @Override
    public String getType() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void addComment(Comment comment) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public List<? extends Comment> getComments() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ObjectifyMockParent other = (ObjectifyMockParent) obj;
        if (this.id != other.id &&
                (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 89 * hash + (this.id != null ? this.id.hashCode() : 0);
        return hash;
    }
    
    
}
